﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CapaNegocio;
using System.Collections;

public partial class adminPerfiles_AdministrarPerfiles : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["UsuLogin"] == null)
            {
                Response.Redirect("../Default.aspx", true);
            }
            else
            {
                List<Perfil> perfilesL = Perfil.buscarPerfiles();
                perfiles.DataSource = perfilesL;
                perfiles.DataTextField = "nombre";
                perfiles.DataValueField = "id";
                perfiles.DataBind();

                List<TipoDoc> tipos = TipoDoc.buscarTiposDoc();
                TiposDoc.DataSource = tipos;
                TiposDoc.DataTextField = "nombre";
                TiposDoc.DataValueField = "codigo";
                TiposDoc.DataBind();

                Usuario usu = ((Usuario)(Session["UsuLogin"]));
                Label1.Text = usu.Apellido + ", " + usu.Nombre + " (" + usu.Perfil.Nombre + ")";
            }

        }
    }
    protected void botonAceptar_Click(object sender, EventArgs e)
    {
        Usuario usuario = ((Usuario)Session["Usuario"]);

        if (usuario != null)
        {
            if (usuario.modificarPerfil(Convert.ToInt32(perfiles.SelectedValue)))
            {
                Session.Remove("Usuario");
                Session["mensaje"] = "Se ha modificado el perfil del usuario: " + usuario.TipoYNumDoc;
                Session["ruta"] = "MenuAdministrador.aspx";
                Response.Redirect("../Exito.aspx");
            }
            else
            {
                Session["error"] = "Se produjo un error inesperado al intentar modificar el perfil del usuario";
                Session["ruta"] = "MenuAdministrador.aspx";
                Response.Redirect("Error.aspx");
            }
        }
        else
        {
            Session["error"] = "Para poder cambiar el perfil de un usuario primero debe buscarlo";
            Session["ruta"] = "adminPerfiles/AdministrarPerfiles.aspx";
            Response.Redirect("../Error.aspx");
        }

    }
    protected void botonCancelar_Click(object sender, EventArgs e)
    {
        if (Session["Usuario"] != null)
        {
            Session.Remove("Usuario");
        }

        Response.Redirect("../MenuAdministrador.aspx");
    }

    protected void BotonBuscar_Click(object sender, EventArgs e)
    {
        Usuario usuario = Usuario.buscarUsuario(Convert.ToInt32(TiposDoc.SelectedValue), TextNroDoc.Text);
        if (usuario!=null)
        {
           
            Session["Usuario"] = usuario;
           
            TextBoxNombre.Text = usuario.Nombre;
            TextBoxApellido.Text = usuario.Apellido;
            TextBoxPerfilActual.Text = usuario.Perfil.Nombre;
        }
        else
        {

            Session["error"] = "El usuario con numero de documento: " + TextNroDoc.Text + " no existe. Ingrese otro número de documento.";
            Session["ruta"] = "abmUsuario/ModificarUsuario.aspx";
            Response.Redirect("../Error.aspx");
        }
    }
}